/*
 *  Copyright 2011 Ricky Tobing.
 *
 *  The codes provided is part of a Project Bingzer API.
 *  Free to use. Use as is since there is no warranty
 *  that code integration with your own code should always
 *  work the way they intended to do.
 *
 *  Please report any bugs to:
 *               ricky@bingzer.com
 *  Follow my blogs 
 *               http://blog.bingzer.com
 *
 */

package com.bingzer.common.serial;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Property
 *
 * @author Ricky Tobing
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.FIELD,ElementType.METHOD})
public @interface Property {
    
    /**
     * The property's name
     * @return 
     */
    String name() default "";
    
    /**
     * Include this property
     * @return 
     */
    boolean browsable() default true;
    
    /**
     * Define the type
     * @return 
     */
    Class<?> type() default Class.class;
    
    /**
     * Optional format
     * @return 
     */
    String format() default "";
    
}
